package com.vrv.service;

import java.util.List;
import java.util.Map;

import com.vrv.utils.Pager;

public interface BaseService<PkEntity> {

    /**
     * 根据id查询
     * 
     * @param id
     */
    public PkEntity get(String id);

    /**
     * 根据id查询
     * 
     * @param id
     */
    public PkEntity get(Integer id);

    /**
     * 删除
     * 
     * @param id
     * @return <br>
     */
    public int delete(Integer id);

    /**
     * 删除
     * 
     * @param id
     * @return <br>
     */
    public int delete(String id);

    /**
     * 修改
     * 
     * @param id
     * @return <br>
     */
    public int update(PkEntity obj);

    /**
     * Description: <br>
     * 统计条数
     * 
     * @param map{startIndex,limit}
     * @return <br>
     */
    public int getTotalCount(Map<String, Object> map);

    public List<PkEntity> getList();

    /**
     * Description: <br>
     * 分页查询
     * 
     * @param map{startIndex,limit}
     * @return <br>
     */
    public List<PkEntity> getList(Map<String, Object> map);

    /**
     * Description: <br>
     * 分页查询
     * 
     * @param map{startIndex,limit}
     * @return <br>
     */
    public Pager<PkEntity> getPage(Map<String, Object> map, Integer pageNo, Integer size);

    /**
     * Description: <br>
     * 分页查询
     * 
     * @param map{startIndex,limit}
     * @return <br>
     */
    public Pager<PkEntity> getPage(Map<String, Object> map, Integer pageNo);

    /**
     * 修改或保存
     */
    public int saveOrUpdate(PkEntity obj, Integer id);

    /**
     * 修改或保存
     */
    public int saveOrUpdate(PkEntity obj, String id);

    public int insert(PkEntity obj);

}
